package com.varian.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.varian.mybatis.base.IBaseService;
import com.varian.system.dto.SysRoleDTO;
import com.varian.system.dto.SysRoleGrantDTO;
import com.varian.system.dto.SysRoleListDTO;
import com.varian.system.dto.SysRolePageDTO;
import com.varian.system.entity.SysRole;
import com.varian.system.vo.SysRoleGrantVO;
import com.varian.system.vo.SysRoleVO;

import java.util.List;

/**
 * @author ben
 * @since 2024/7/2
 */
public interface ISysRoleService extends IBaseService<SysRole> {

    boolean add(SysRoleDTO dto);

    boolean modify(Long id, SysRoleDTO dto);

    SysRoleVO detail(Long id);

    Page<SysRoleVO> page(SysRolePageDTO dto);

    List<SysRoleVO> list(SysRoleListDTO dto);

    boolean delete(Long id);

    SysRoleGrantVO grantedList(Long id);

    boolean grant(Long id, SysRoleGrantDTO dto);
}
